package com.itqdkj.health.dao;

import com.github.pagehelper.Page;
import com.itqdkj.health.entity.PageResult;
import com.itqdkj.health.entity.QueryPageBean;
import com.itqdkj.health.pojo.CheckGroup;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface CheckGroupDao {
    /**
     * 新增检查组
     * @param checkGroup
     */
    public void add(CheckGroup checkGroup);

    /**
     *设置检查组合和检查项的关联关系，向中间表中添加数据
     * @param checkGroupId
     * @param checkitemId
     */
    public void setCheckGroupAndCheckItem(@Param("checkGroupId") Integer checkGroupId, @Param("checkitemId") Integer checkitemId);

    /**
     * 设置检查组合和检查项的关联关系，向中间表中添加数据
     * @param map
     */
    //public void setCheckGroupAndCheckItem(Map<String, Integer> map);

    /**
     * 检查组分页数据查询
     * @param queryString
     * @return
     */
    Page<CheckGroup> selectByCondition(String queryString);

    CheckGroup findById(Integer checkgroup_id);

    /**
     * 使用检查组的id，查询检查项的集合
     * @param checkgroup_id
     * @return
     */
    List<Integer> findCheckItemIdsByCheckGroupId(Integer checkgroup_id);

    void edit(CheckGroup checkGroup);

    /**
     * 根据检查组id删除中间表t_checkgroup_checkitem数据(清理原有关联关系)
     * @param id
     */
    void deleteAssociation(Integer id);

    /**
     * 根据检查组id删除检查组,需先清除中间表的关联关系
     * @param checkgroup_id
     */
    void delete_Checkgroup(Integer checkgroup_id);

    /**
     * 根据检查组id检查中间表（t_setmeal_checkgroup）是否存在数据
     * @param checkgroup_id
     * @return
     */
    long findCountByCheckgroup(Integer checkgroup_id);
    /**
     * 获得所有检查组数据
     * @return
     */
    List<CheckGroup> findAll();
    /**
     * 查询套餐中的检查组数据
     * @param id
     * @return
     */
    List<CheckGroup> findCheckGroupListById(Integer id);
}
